<?php

namespace app\portal\controller;

use app\user\model\UserModel;
use cmf\controller\HomeBaseController;
use think\facade\Db;

// 用户数据清理
class UserController extends HomebaseController
{
	// 请求地址 http://zhibo.com/portal/user/delAll
	// 请求地址 http://s3.scbjxs.com/portal/user/delAll
	
	// 删除所有的用户
	public function delAll()
	{
		$users = UserModel::select()->toArray();
		foreach($users as $item){
			$res = $this->del($item['id']);
			if($res === false){
				break;
			}
			echo '清理用户数据'.$item['id'].'<br>';
		}
		if($res === false){
			echo '清理用户数据失败'.'<br>';
		} else{
			echo '清理用户数据完成'.'<br>';
		}
	}
	
	// 删除用户数据
	public function sdscfdfvdfb_del($id)
	{
		$update = [
			'coin'                => 0,
			'freeze_coin'         => 0,
			'score'               => 0,
			'votes'               => 0,
			'votestotal'          => 0,
			'isrecommend'         => 0,
			'iszombie'            => 0,
			'iszombiep'           => 0,
			'issuper'             => 0,
			'isrecord'            => 0,
			'goodnum'             => 0,
			'end_bantime'         => 0,
			'balance'             => 0,
			'balance_total'       => 0,
			'balance_consumption' => 0,
			'recommend_time'      => 0,
			'firstcharge_used'    => 0,
			'praise_num'          => 0,
			'consumption'         => 0,
		];
		$rs     = UserModel::where(["id" => $id, "user_type" => 2])->save($update);
		if($rs === false){
			var_dump(UserModel::getLastSql());
			echo '<br>';
			var_dump($rs);
			echo '<br>';
			
			return false;
		}
		
		// 删除认证
		DB::name("user_auth")->where("uid='{$id}'")->delete();
		// 删除直播记录
		DB::name("live")->where("uid='{$id}'")->delete();
		DB::name("live_record")->where("uid='{$id}'")->delete();
		// 删除房间管理员
		DB::name("live_manager")->where("uid='{$id}' or liveuid='{$id}'")->delete();
		
		//  删除黑名单
		DB::name("user_black")->where("uid='{$id}' or touid='{$id}'")->delete();
		// 删除关注记录
		DB::name("user_attention")->where("uid='{$id}' or touid='{$id}'")->delete();
		
		// 删除僵尸
		DB::name("user_zombie")->where("uid='{$id}'")->delete();
		// 删除超管
		DB::name("user_super")->where("uid='{$id}'")->delete();
		// 删除会员
		DB::name("vip_user")->where("uid='{$id}'")->delete();
		
		// 删除分销关系
		DB::name("agent")->where("uid='{$id}' or one_uid={$id}")->delete();
		// 删除分销邀请码
		DB::name("agent_code")->where("uid='{$id}'")->delete();
		// 删除分销收益
		DB::name("agent_profit")->where("uid='{$id}'")->delete();
		// 删除分销收益记录
		DB::name("agent_profit_recode")->where("one_uid='{$id}'")->delete();
		
		// 删除坐骑
		DB::name("car_user")->where("uid='{$id}'")->delete();
		
		// 删除钱包账号
		DB::name("cash_account")->where("uid='{$id}'")->delete();
		// 删除自己的标签
		DB::name("label_user")->where("touid='{$id}'")->delete();
		
		// 删除背包
		DB::name("backpack")->where("uid='{$id}'")->delete();
		
		// 删除动态 相关
		$dynamicids = DB::name("dynamic")->where("uid='{$id}'")->column('id');
		DB::name("dynamic")->where("uid='{$id}'")->delete();
		
		DB::name("dynamic_comments")->where('dynamicid', 'in', $dynamicids)->delete();
		DB::name("dynamic_comments_like")->where('dynamicid', 'in', $dynamicids)->delete();
		DB::name("dynamic_like")->where('dynamicid', 'in', $dynamicids)->delete();
		DB::name("dynamic_report")->where('dynamicid', 'in', $dynamicids)->delete();
		DB::name("dynamic_report")->where('touid', '=', $id)->delete();
		
		// 删除反馈
		DB::name("feedback")->where('uid', '=', $id)->delete();
		
		// 删除守护
		DB::name("guard_user")->where('uid', '=', $id)->delete();
		DB::name("guard_user")->where('liveuid', '=', $id)->delete();
		
		// 删除靓号
		DB::name("liang")->where('uid', '=', $id)->delete();
		
		// 删除踢人
		DB::name("live_kick")->where('uid', '=', $id)->delete();
		
		// 删除踢人
		DB::name("live_kick")->where('liveuid', '=', $id)->delete();
		
		// 删除禁言
		DB::name("live_shut")->where('uid', '=', $id)->delete();
		
		// 删除音乐收藏
		DB::name("music_collection")->where('uid', '=', $id)->delete();
		
		// 删除举报
		DB::name("report")->where('touid', '=', $id)->delete();
		
		// 删除店铺相关
		DB::name("shop_apply")->where('uid', '=', $id)->delete();
		
		//$goodsid=DB::name("shop_goods")->where("uid='{$id}'")->column('id');
		DB::name("shop_goods")->where('uid', '=', $id)->delete();
		// 删除店铺相关
		
		// 删除禁用
		DB::name("user_banrecord")->where("uid='{$id}'")->delete();
		
		// 删除登录
		DB::name("user_sign")->where("uid='{$id}'")->delete();
		
		// 删除映票记录
		DB::name("user_voterecord")->where("uid='{$id}'")->delete();
		
		// 删除积分
		DB::name("user_scorerecord")->where("touid='{$id}'")->delete();
		
		// 删除视频 相关
		$videoids = DB::name("video")->where("uid='{$id}'")->column('id');
		DB::name("video")->where("uid='{$id}'")->delete();
		
		DB::name("video_black")->where('videoid', 'in', $videoids)->delete();
		DB::name("video_black")->where('uid', '=', $id)->delete();
		
		DB::name("video_comments")->where('videoid', 'in', $videoids)->delete();
		DB::name("video_comments_like")->where('videoid', 'in', $videoids)->delete();
		
		DB::name("video_like")->where('videoid', 'in', $videoids)->delete();
		DB::name("video_like")->where('uid', '=', $id)->delete();
		
		DB::name("video_step")->where('videoid', 'in', $videoids)->delete();
		DB::name("video_step")->where('uid', '=', $id)->delete();
		
		DB::name("video_report")->where('videoid', 'in', $videoids)->delete();
		DB::name("video_report")->where('touid', '=', $id)->delete();
		// 删除视频 相关
		
		
		//删除家族关系
		DB::name("family_user")->where("uid='{$id}'")->delete();
		// 家族长处理
		$isexist = DB::name("family")->field("id")->where("uid={$id}")->find();
		if($isexist){
			$data = array(
				'state'         => 3,
				'signout'       => 2,
				'signout_istip' => 2,
			);
			DB::name("family_user")->where("familyid={$isexist['id']}")->update($data);
			DB::name("family_profit")->where("familyid={$isexist['id']}")->delete();
			DB::name("family_profit")->where("id={$isexist['id']}")->delete();
		}
		
		//删除收货地址
		Db::name("shop_address")->where("uid={$id}")->delete();
		
		//删除经营类目
		Db::name("seller_goods_class")->where("uid={$id}")->delete();
		//删除店铺申请
		Db::name("shop_apply")->where("uid={$id}")->delete();
		//删除用户发布的商品
		Db::name("shop_goods")->where("uid={$id}")->delete();
		
		//删除付费内容申请
		Db::name("paidprogram_apply")->where("uid={$id}")->delete();
		
		//删除付费内容评论
		Db::name("paidprogram_comment")->where("uid={$id} or touid={$id}")->delete();
		//修改付费项目订单
		Db::name("paidprogram_order")->where("uid= {$id} or touid={$id}")->update(array('isdel' => 1));
		
		//删除代售商品记录
		Db::name("seller_platform_goods")->where("uid={$id}")->delete();
		
		//删除用户美颜参数设置
		Db::name("user_beauty_params")->where("uid={$id}")->delete();
		//删除用户语音聊天室上麦申请
		Db::name("voicelive_applymic")->where("uid={$id} or liveuid={$id}")->delete();
		//删除用户语音聊天室上麦表
		Db::name("voicelive_mic")->where("uid={$id} or liveuid={$id}")->delete();
		//删除店铺评分
		Db::name("shop_points")->where("shop_uid={$id}")->delete();
		//删除商品访问记录
		Db::name("user_goods_visit")->where("uid={$id}")->delete();
		
		//删除粉丝关注信息
		Db::name("user_attention_messages")->where("uid={$id} or touid={$id}")->delete();
		
		//
		delcache("userinfo_".$id, "token_".$id);
		
		return true;
	}
	
}